home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / misc / toolbox.lha / Toolbox / lib / rex / Source.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-11  |  1004 b   |  49 lines

  1. /* $Id: Source.c,v 2.4 1992/08/07 15:29:41 grosch rel $ */
  2.  
  3. $@ # include "$Source.h"
  4.  
  5. # ifdef __cplusplus
  6. extern "C" {
  7. # include "System.h"
  8. }
  9. # else
  10. # include "System.h"
  11. # endif
  12.  
  13. $@ int $_BeginSource
  14. # if defined __STDC__ | defined __cplusplus
  15.    (char * FileName)
  16. # else
  17.    (FileName) char * FileName;
  18. # endif
  19. {
  20.    return OpenInput (FileName);
  21. }
  22.  
  23. $@ int $_GetLine
  24. # if defined __STDC__ | defined __cplusplus
  25.    (int File, char * Buffer, int Size)
  26. # else
  27.    (File, Buffer, Size) int File; char * Buffer; int Size;
  28. # endif
  29. {
  30.    register int n = Read (File, Buffer, Size);
  31. # ifdef Dialog
  32. # define IgnoreChar ' '
  33.    /* Add dummy after newline character in order to supply a lookahead for rex. */
  34.    /* This way newline tokens are recognized without typing an extra line.      */
  35.    if (n > 0 && Buffer [n - 1] == '\n') Buffer [n ++] = IgnoreChar;
  36. # endif
  37.    return n;
  38. }
  39.  
  40. $@ void $_CloseSource
  41. # if defined __STDC__ | defined __cplusplus
  42.    (int File)
  43. # else
  44.    (File) int File;
  45. # endif
  46. {
  47.    Close (File);
  48. }
  49.